<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Cliente extends CI_Controller {
        
    public function __construct(){
        parent::__construct();
        $componente = array('componente'=>'cliente');
        $this->session->set_userdata($componente);
        $this->load->model('Cliente_Model');
    }
    public function index(){        
        $componente = $this->session->userdata('componente').'_view'; 
        $this->load->view($componente);
    }
    
    public function form(){
        $pessoa = strlen(preg_replace("/[^0-9]/", "", $this->input->post('nregistro'))) > 11 ? "j" : "f" ;
        $cliente = array(
            'tipo'=>$pessoa,
            'nome'=>$this->input->post('nome'),
            'nregistro'=>preg_replace("/[^0-9]/", "", $this->input->post('nregistro')),
            'telfixo'=>preg_replace("/[^0-9]/", "", $this->input->post('telfixo')),
            'telmovel'=>preg_replace("/[^0-9]/", "", $this->input->post('telmovel')),
            'email'=>$this->input->post('email'),
            'endereco'=>$this->input->post('endereco'),
            'bairro'=>$this->input->post('bairro'),
            'cidade'=>$this->input->post('cidade'),
            'estado'=>$this->input->post('estado'),
            'cep'=>preg_replace("/[^0-9]/", "", $this->input->post('cep'))
        );
        $login = array(  
            'login'=>preg_replace("/[^0-9]/", "", $this->input->post('nregistro')),
            'senha'=>md5($this->input->post('senha1')),
            'perfil_idperfil'=>'16',
            'ativo'=>1
            );
        $representante = array(
            'nome_rep'=>$this->input->post('nome_rep'),
            'rg'=>$this->input->post('rg'),
            'cpf'=>$this->input->post('cpf'),
            'expeditor'=>$this->input->post('expeditor'),
            'endereco_rep'=>$this->input->post('endereco_rep'),
            'telfixo_rep'=>$this->input->post('telfixo_rep'),
            'telmovel_rep'=>$this->input->post('telmovel_rep')
            );
        if($this->input->post('cad')){
            $config = array(
                array(
                'field' => 'nome', 
                'label' => 'Nome Completo', 
                'rules' => 'trim|required|xss_clean'), 
                array(
                'field' => 'nregistro',
                'label' => 'Nº Cadastro',
                'rules' => 'trim|required|xss_clean'),
                array(
                'field' => 'telfixo',
                'label' => 'Telefone Fixo',
                'rules' => 'trim|xss_clean'),
                array(
                'field' => 'telmovel',
                'label' => 'Celular',
                'rules' => 'trim|xss_clean'),
                array(
                'field' => 'email',
                'label' => 'Email',
                'rules' => 'trim|xss_clean'),
                array(
                'field' => 'endereco',
                'label' => 'Endereço',
                'rules' => 'trim|required|xss_clean'),
                 array(
                'field' => 'senha1',
                'label' => 'Senha',
                'rules' => 'trim|required|xss_clean'),
                 array(
                'field' => 'senha2',
                'label' => 'Senha',
                'rules' => 'trim|required|xss_clean')
            );
        }
        $this->form_validation->set_rules($config);
        if ($this->form_validation->run($this) != FALSE){
            if($this->input->post('senha1') !== $this->input->post('senha2')){
                echo utf8_decode('<script>alert("As senhas digitadas não conferem.");
                                  window.history.back();</script>');
            }
            else{
                include('inc/valida_pessoa.php');
                $validacao = new Validacao();
                if($pessoa != 'j'){
                    if($validacao->validaCPF($cliente['nregistro']) != false){
                        $this->insere($cliente, $login, $representante);
                    }else{
                        echo utf8_decode('<script>alert("Número de CPF Inválido.");
                                        window.history.back();</script>');
                    }
                }else{
                    if($validacao->validaCNPJ($cliente['nregistro']) != false){
                        $this->insere($cliente, $login, $representante);
                    }else{
                        echo utf8_decode('<script>alert("Número de CNPJ Inválido.");
                                        window.history.back();</script>');
                    }
                }
                    
            }
        
        }else{
            echo utf8_decode('<script>alert("Por favor, preencha todos os campos!");
                              window.history.back();</script>');
        }        
    }
    public function cadastro(){
        if (!$this->session->userdata('logged_in')) {
            redirect('login');exit;
        }
        else{
            $cad = $this->Cliente_Model->clientePorId($this->session->userdata('idusuario'));
            if($cad[0]->tipo != 'f'){
                $rep = $this->Cliente_Model->repPorId($this->session->userdata('idusuario'));
            }
            $cliente = array(
                'tipo'=>$cad[0]->tipo,
                'nome'=>$cad[0]->nome,
                'nregistro'=>$cad[0]->nregistro,
                'telfixo'=>$cad[0]->telfixo,
                'telmovel'=>$cad[0]->telmovel,
                'email'=>$cad[0]->email,
                'endereco'=>$cad[0]->endereco,
                'bairro'=>$cad[0]->bairro,
                'cidade'=>$cad[0]->cidade,
                'estado'=>$cad[0]->estado,
                'cep'=>$cad[0]->cep
            );
            if(!empty($rep)){
                $representante = array(
                    'nome_rep'=>$rep[0]->nome_rep,
                    'rg'=>$rep[0]->rg,
                    'cpf'=>$rep[0]->cpf,
                    'expeditor'=>$rep[0]->expeditor,
                    'endereco_rep'=>$rep[0]->endereco_rep,
                    'telfixo_rep'=>$rep[0]->telfixo_rep,
                    'telmovel_rep'=>$rep[0]->telmovel_rep
                );
                $merge = (array_merge($cliente,$representante));
                $this->load->view('cliente_cad', $merge);   
            }else{
                $this->load->view('cliente_cad', $cliente);
            }
        }        
    }
    public function senha(){
        if (!$this->session->userdata('logged_in')) {
            redirect('login');exit;
        }
        else{
            $this->load->view('login_altera');
        }
    }
    public function recSenha(){
        $msg['msg'] = "";
        if($this->input->post('email')){
           $cliente = $this->Cliente_Model->recSenha($this->input->post('email'));
            if(empty($cliente)){
                echo utf8_decode("O email informado não foi localizado em nosso sistema.");
            }else{
                $link = base_url()."cliente/alteraSenha/".$cliente[0]->idusuario.".".$cliente[0]->senha;
                $this->email->set_newline("\r\n");
                $this->email->from('sistema@diplomata.com.br', 'Teatro Diplomata');
                $this->email->to($this->input->post('email')); 
                $this->email->subject('Solicitação de alteração de senha - Teatro Diplomata');
                $this->email->message("Acesse o link abaixo e defina uma nova senha de acesso.<br /><br /><a href=$link>Altere Sua Senha</a>
                    <br /><br /> Favor não responder este email.
                    <br /><br />
                    <p style='font-size: 12px; color: #333; font-family: Georgia, Verdana, Arial;'>---<br />Atenciosamente,</p>
                    <p style='font-size: 12px; color: #333; font-family: Georgia, Verdana, Arial; font-weight: bold;'>TEATRO DIPLOMATA - UNIRB</p>
                    <p style='font-size: 12px; color: #333; font-family: Georgia, Verdana, Arial;'><img src='http://teatrodiplomata.com.br/wp-content/themes/teatro/images/assets/contact_icons/home_silver.png' style='float: left;' />Avenida Tamburugy, 474 - Patamares, Salvador - BA, 41680-440</p>
                    <p style='font-size: 12px; color: #333; font-family: Georgia, Verdana, Arial;'><img src='http://teatrodiplomata.com.br/wp-content/themes/teatro/images/assets/contact_icons/phone_silver.png' style='float: left;' />(71) 3368-8342</p>
                    <p style='font-size: 12px; color: #333; font-family: Georgia, Verdana, Arial;''><img src='http://teatrodiplomata.com.br/wp-content/themes/teatro/images/assets/contact_icons/mail_silver.png' style='float: left;' />reserva@teatrodiplomata.com.br</p>
                    ");
                $this->email->send();
                $msg['msg'] = "Um link para alteração de senha foi enviado para seu email.";

            }
        }
         $this->load->view('cliente_recsenha', $msg);
    }
    public function alteraSenha(){
        $msg['msg'] = "";
        if($this->input->post('altSenha')){
            if($this->input->post('pass1') !== $this->input->post('pass2') || $this->input->post('pass1') == ""){            
                $msg['msg'] = utf8_decode("As senhas digitadas não conferem.");
            }else{
                if($this->uri->segment('3')){
                    $atual = array('auth'=>explode(".",$this->uri->segment('3')));
                    if($this->input->post('pass1')){
                       if($this->Cliente_Model->alteraSenha($atual, $this->input->post('pass1'))){
                          $msg['msg'] = utf8_decode("Sua Senha foi alterada com sucesso!");
                       }else{
                           $msg['msg'] = utf8_decode("Este Link não é mais válido. Solicite um novo link!");
                       }
                    }
                } 
            }
        }
        $this->load->view('cliente_altsenha', $msg);
    } 
    public function insere($cliente, $login, $representante){        
        $this->Cliente_Model->insere($cliente, $login, $representante);
        $this->session->set_flashdata('respcli', "Cadastro Realizado com sucesso. Entre com seu usuário e senha.");
        header("location:".base_url()."login/");
    }
    public function edita(){
        $cliente = array(
            'tipo'=>$this->input->post('tipo'),
            'nome'=>$this->input->post('nome'),
            'nregistro'=>preg_replace("/[^0-9]/", "", $this->input->post('reg')),
            'telfixo'=>preg_replace("/[^0-9]/", "", $this->input->post('telfixo')),
            'telmovel'=>preg_replace("/[^0-9]/", "", $this->input->post('telmovel')),
            'email'=>$this->input->post('email'),
            'endereco'=>$this->input->post('endereco'),
            'bairro'=>$this->input->post('bairro'),
            'cidade'=>$this->input->post('cidade'),
            'estado'=>$this->input->post('estado'),
            'cep'=>preg_replace("/[^0-9]/", "", $this->input->post('cep'))
        );
        $representante = array(
            'nome_rep'=>$this->input->post('nome_rep'),
            'rg'=>preg_replace("/[^0-9]/", "", $this->input->post('rg')),
            'cpf'=>preg_replace("/[^0-9]/", "", $this->input->post('cpf')),
            'expeditor'=>$this->input->post('expeditor'),
            'endereco_rep'=>$this->input->post('endereco_rep'),
            'telfixo_rep'=>preg_replace("/[^0-9]/", "", $this->input->post('telfixo_rep')),
            'telmovel_rep'=>preg_replace("/[^0-9]/", "", $this->input->post('telmovel_rep'))
        );
        $this->Cliente_Model->edita($cliente, $representante);
        $this->session->set_flashdata('respcli', 'Dados Alterados com Sucesso.');
        header("location:".base_url()."cliente/cadastro");
    } 
}
/* End of file cliente.php */
/* Location: ./application/controllers/cliente.php */